package com.nenude.corejava.jdbc2;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 设计一个jdbc操作工具类，用于封装通用操作
 * 
 *
 * 4个参数：驱动 、url、账号、密码 
 * 6个步骤： 1·注册驱动 
 * 2·连接数据库-connection 
 * 3·打开状态连接--statement
 * 4·执行sql
 * 5·处理sql处理结果 
 * 6·关闭连接，释放资源
 * @author ling
 *
 */

public class DBHelper {
	//封装4个参数
	private static final String DRIVER="oracle.jdbc.driver.OracleDriver";//注册驱动
	private static final String URL="jdbc:oracle:thin://localhost:1521/orcl";
	private static final String USER="jdbcuser";
	private static final String PASSWORD="123456";
	
	//1·注册驱动  2·建立连接
	public static Connection openConnection() {
		 Connection conn=null;
		 try {
			Class.forName(DRIVER);// 1·注册驱动
			try {
				conn=DriverManager.getConnection(URL,USER,PASSWORD);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		return conn;	
	}
	
	//6·关闭连接，释放资源
	public static void closeAll(ResultSet rs,Statement stmt,Connection conn){
		//这是一个标准的关闭动作
		if (rs!=null) {
			try {
				rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if (stmt!=null) {
			try {
				stmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}if (conn!=null) {
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}			
	}
}
